package com.donfu.system.service.house;

import com.donfu.common.exception.user.BusinessException;
import com.donfu.system.domain.dto.FileChunkDTO;
import com.donfu.system.domain.dto.FileChunkResultDTO;
import com.donfu.system.domain.house.HouseAboutModen;

import java.io.IOException;
import java.util.List;

/**
 * 关于摩登文章Service接口
 * 
 * @author donfu
 * @date 2021-12-08
 */
public interface IHouseAboutModenService 
{
    /**
     * 查询关于摩登文章
     * 
     * @param id 关于摩登文章主键
     * @return 关于摩登文章
     */
    public HouseAboutModen selectHouseAboutModenById(Long id);

    /**
     * 查询关于摩登文章列表
     * 
     * @param houseAboutModen 关于摩登文章
     * @return 关于摩登文章集合
     */
    public List<HouseAboutModen> selectHouseAboutModenList(HouseAboutModen houseAboutModen);

    /**
     * 新增关于摩登文章
     * 
     * @param houseAboutModen 关于摩登文章
     * @return 结果
     */
    public int insertHouseAboutModen(HouseAboutModen houseAboutModen);

    /**
     * 修改关于摩登文章
     * 
     * @param houseAboutModen 关于摩登文章
     * @return 结果
     */
    public int updateHouseAboutModen(HouseAboutModen houseAboutModen);

    /**
     * 批量删除关于摩登文章
     * 
     * @param ids 需要删除的关于摩登文章主键集合
     * @return 结果
     */
    public int deleteHouseAboutModenByIds(Long[] ids);

    /**
     * 删除关于摩登文章信息
     * 
     * @param id 关于摩登文章主键
     * @return 结果
     */
    public int deleteHouseAboutModenById(Long id);

    /**
     * 检查文件是否存在，如果存在则跳过该文件的上传，如果不存在，返回需要上传的分片集合
     * @param chunkDTO
     * @return
     */
    FileChunkResultDTO checkChunkExist(FileChunkDTO chunkDTO) throws BusinessException;


    /**
     * 上传文件分片
     * @param chunkDTO
     */
    void uploadChunk(FileChunkDTO chunkDTO) throws BusinessException, IOException;
}
